package com.guchenbo.erp.inventory.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.guchenbo.erp.dao.entity.ErpBaseModel;
import java.time.LocalDateTime;

/**
 * <p>
 * 商品表
 * </p>
 *
 * @author guchenbo
 * @since 2025-07-12
 */
public class Product extends ErpBaseModel {

    /**
     * 商品ID
     */
    @TableId(value = "product_id", type = IdType.AUTO)
    private Long productId;

    /**
     * 商品编码（SKU）
     */
    private String productCode;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 计量单位
     */
    private String unit;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 状态：1=启用，0=停用
     */
    private Byte status;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "Product{" +
            "productId = " + productId +
            ", productCode = " + productCode +
            ", name = " + name +
            ", categoryId = " + categoryId +
            ", unit = " + unit +
            ", brand = " + brand +
            ", status = " + status +
            ", updateTime = " + updateTime +
        "}";
    }
}
